package com.yuyang.common.exception;

/**
 * @author yu yang
 * @date 2022/11/30 -20:58
 */
/***
 * 错误码和错误信息定义类
 * 1. 错误码定义规则为5为数字
 * 2. 前两位表示业务场景，最后三位表示错误码。例如：100001。10:通用 001:系统未知异常
 * 3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 *  10: 通用
 *      001：参数格式校验
 *      002:发送验证码次数过高
 *  11: 商品
 *  12: 订单
 *  13: 购物车
 *  14: 物流
 *  15：用户
 *  21: 库存
 *  22: 秒杀
 */
public enum BizCodeEnum {

    UNKNOW_EXEPTION(10000,"系统未知异常"),
    SMS_CODE_EXEPTION(10002,"发送验证码次数过高"),
    SMS_CODE_EXIST_EXEPTION(10003,"请输入验证码！！"),
    VALID_EXCEPTION( 10001,"参数格式校验失败"),
    PRODUCT_UP_EXCEPTION( 11000,"商品上架出错"),
    PHONE_EXIST_EXCEPTION(15000,"用户手机号已被注册"),
    USERNAME_EXIST_EXCEPTION(15001,"用户名已经被注册"),
    LOGINACCOUNT_PASSWORD_INVALID_EXCEPTION(15002,"账号或密码错误"),
    NO_STOCK_EXCEPTION(21000,"商品没有库存"),
    TOO_MANY_REQUEST(22000,"请求次数过多");

    private int code;
    private String msg;

    BizCodeEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}